﻿using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Text;

namespace AppSocketModel
{
    /// <summary>
    /// GPS设备运行设备状态
    /// </summary>
    [BsonIgnoreExtraElements]
    public  class DeviceRunStatus
    {
        /// <summary>
        /// IMEI
        /// </summary>
        public string IMEI { set; get; }

        /// <summary>
        /// ICCID  集成电路卡识别码（固化在手机SIM卡中） ICCID为IC卡的唯一识别号码，共有20位数字组成
        /// </summary>
        public string ICCID { set; get; }

        /// <summary>
        /// 设备IP
        /// </summary>
        public  string   IP { set; get; }

        /// <summary>
        /// 端口号
        /// </summary>
        public int Port { set; get; }

        /// <summary>
        /// 设备重启次数
        /// </summary>
        public long ResetCount { set; get; }

        /// <summary>
        /// 设备总重启次数
        /// </summary>
        public long ResetTotal { set; get; }

        /// <summary>
        /// 数据发送时间间隔(秒)
        /// </summary>
        public int TimeSpan { set; get; }

        /// <summary>
        /// 设备休眠时间(分钟)
        /// </summary>
        public int SleepTime { set; get; }

        /// <summary>
        /// 发生异常时设备休眠时间(分钟)
        /// </summary>
        public int SleepTimeOnErr { set; get; }

        /// <summary>
        /// 唤醒后数据发送次数
        /// </summary>
        public int SendTimes { set; get; }

        /// <summary>
        /// GPRS模块型号
        /// </summary>
        public string GprsModule { set; get; }

        /// <summary>
        /// 硬件版本号
        /// </summary>
        public string HardwareVersion { set; get; }

        /// <summary>
        /// 硬件代码
        /// </summary>
        public string HardwareCode { set; get; }

        /// <summary>
        /// 固件版本号
        /// </summary>
        public string FirmwareVersion { set; get; }

        /// <summary>
        /// 固件代码
        /// </summary>
        public string FirmwareCode { set; get; }


        /// <summary>
        /// 设备附加信息
        /// </summary>
        public string DeviceInfo { set; get; }

        /// <summary>
        /// 电池电压
        /// </summary>
        public float BatteryVoltage { set; get; }

        /// <summary>
        /// 唤醒类型
        /// </summary>
        public string WakeUpType { set; get; }

        /// <summary>
        /// 硬件类型
        /// </summary>
        public DeviceType deviceType { set; get; }

        /// <summary>
        /// 数据上报日期时间
        /// </summary>
        public DateTime? DataPacketDateTime { set; get; }

        /// <summary>
        /// 服务器收到数据处理的日期时间
        /// </summary>
        public DateTime ReceiveDateTime { set; get; }

        /// <summary>
        /// 时间时间差
        /// </summary>
        public string RealSpan { set; get; }

        /// <summary>
        /// 数据帧长度
        /// </summary>
        public int Len { set; get; }
    }
}
